1. Field of the Invention
The present invention relates to satellite positioning systems and, more particularly, to a method and apparatus for combining measurements and determining clock offsets between different Global Navigation Satellite Systems (GNSSs).
2. Description of the Background Art
Global Navigation Satellite System (GNSS) receivers use measurements from several satellites to compute position. GNSS receivers normally determine their position by computing time delays between transmission and reception of signals transmitted from satellites and received by the receiver on or near the surface of the earth. The time delays multiplied by the speed of light provide the distance from the receiver to each of the satellites that are in view of the receiver. Exemplary GNSSs include the Global Positioning System (GPS), the European GALILEO system, and the Russian GLONASS system.
In GPS, each signal available for commercial use utilizes a direct sequence spreading signal defined by a unique pseudo-random noise (PN) code (referred to as the coarse acquisition (C/A) code) having a 1.023 MHz spread rate. Each PN code bi-phase modulates a 1575.42 MHz carrier signal (referred to as the L1 carrier) and uniquely identifies a particular satellite. The PN code sequence length is 1023 chips, corresponding to a one millisecond time period. One cycle of 1023 chips is called a PN frame or epoch.
GPS receivers determine the time delays between transmission and reception of the signals by comparing time shifts between the received PN code signal sequence and internally generated PN signal sequences. These measured time delays are referred to as “sub-millisecond pseudoranges,” since they are known modulo the 1 millisecond PN frame boundaries. By resolving the integer number of milliseconds associated with each delay to each satellite, then one has true, unambiguous, pseudoranges. A set of four pseudoranges together with knowledge of absolute times of transmission of the GPS signals and satellite positions in relation to these absolute times is sufficient to solve for the position of the GPS receiver. The absolute times of transmission (or reception) are needed in order to determine the positions of the GPS satellites at the times of transmission and hence to compute the position of the GPS receiver.
Accordingly, each of the GPS satellites broadcasts a model of satellite orbit and clock data known as the satellite navigation message. The satellite navigation message is a 50 bit-per-second (bps) data stream that is modulo-2 added to the PN code with bit boundaries aligned with the beginning of a PN frame. There are exactly 20 PN frames per data bit period (20 milliseconds). The satellite navigation message includes satellite-positioning data, known as “ephemeris” data, which identifies the satellites and their orbits, as well as absolute time information (also referred to herein as “GPS system time”) associated with the satellite signal. The GPS system time information is in the form of a second of the week signal, referred to as time-of-week (TOW). This absolute time signal allows the receiver to unambiguously determine a time tag for when each received signal was transmitted by each satellite.
GPS satellites move at approximately 3.9 km/s, and thus the range of the satellite, observed from the earth, changes at a rate of at most ±800 m/s. Absolute timing errors result in range errors of up to 0.8 m for each millisecond of timing error. These range errors produce a similarly sized error in the GPS receiver position. Hence, absolute time accuracy of 10 ms is sufficient for position accuracy of approximately 10 m. Absolute timing errors of much more than 10 ms will result In large position errors, and so typical GPS receivers have required absolute time to approximately 10 milliseconds accuracy or better.
Another time parameter closely associated with GPS positioning is the sub-millisecond offset in the time reference used to measure the sub-millisecond pseudorange. This offset affects all the measurements equally, and for this reason it is known as the “common mode error”. The common mode error should not be confused with the absolute time error. As discussed above, an absolute time error of 1 millisecond leads to range errors of up to 0.8 meters while an absolute time error of 1 microsecond would cause an almost unobservable range error of less than 1 millimeter. A common mode error of 1 microsecond, however, results in a pseudorange error of 1 microsecond multiplied by the speed of light (i.e., 300 meters). Common mode errors have a large effect on pseudorange computations, and it is, in practice, very difficult to calibrate the common mode error. As such, traditional GPS receivers treat the common mode error as an unknown that must be solved for, along with position, once a sufficient number of pseudoranges have been measured at a particular receiver.
Other types of GNSSs, such as GALILEO and GLONASS employ signal structures similar to GPS and may be used to locate position of a receiver in a similar manner. In some applications, it is desirable to process signals from GPS satellites and satellites of other global navigation satellite system(s), simultaneously. For example, a receiver may not be able to receive and process a sufficient number of GPS signals to locate position due to low signal strengths. Such other satellite positioning systems, however, typically operate using a different time reference than that employed by GPS. For example, GPS system time is steered towards International Atomic Time (TAI) minus 19 seconds with an accuracy of approximately 20 nanoseconds, whereas GALILEO system time is steered towards TAI with an offset of less than 33 nanoseconds. Simultaneous use of both GPS and GALILEO signals without compensating for the difference in the system time used by the two systems will result in an error in computed position proportional to the speed of light. For example, an uncompensated 10 nanosecond offset will result in a 10 foot error in computed position.
Accordingly, there exists a need in the art for a method and apparatus that combines measurements from multiple satellite navigation systems while compensating for the difference in system times used by the systems.